<?php

include("conectar.php");

class DataAccesComponents {

//pEGADO DESDE AQUII-----------------------------------------------------------
    //pEGADO DESDE AQUII-----------------------------------------------------------
    //pEGADO DESDE AQUII-----------------------------------------------------------
    //pEGADO DESDE AQUII-----------------------------------------------------------
    //pEGADO DESDE AQUII-----------------------------------------------------------



    public function agregarActividad(Actividad $actividad) {
        try {
            $nombre = $actividad->getNombre();
            $codigo = $actividad->getCodigo();
            $link = Conectarse();

            $Sql = "select sp_ingresarActividad('$codigo','$nombre')";
            $num = pg_query($link, $Sql);
            return $num;
        } catch (Exception $ex) {
            echo "No se pudo pudieron ingresar los datos Error" . $ex->getMessage();
        }
    }

    /*
     * obtiene una lista de todos las ofertas desde la base de datos
     * @return array lista de ofertas
     */

    public function getListaActividades($cedula) {
        try {
            $link = Conectarse();
            $Sql = "select sp_docenteAvtividad('$cedula')";
            $result = pg_query($link, $Sql);
            while ($row = pg_fetch_array($result)) {
                $actividades[] = $row;
            }
            return $actividades;
        } catch (Exception $ex) {
            echo "No se pudo pudieron obtener los datos Error" . $ex->getMessage();
        }
    }

    public function editarActividad(Actividad $actividad) {
        try {
            $nombre = $actividad->getNombre();
            $codigo = $actividad->getCodigo();
            $link = Conectarse();
            $Sql = "update \"ACTIVIDADES\" set \"NombreActividad\"='$nombre' where \"CodigoActividad\"='$codigo'";
            $num = pg_query($link, $Sql);
            return $num;
        } catch (Exception $ex) {
            echo "No se pudo pudieron ingresar los datos Error" . $ex->getMessage();
        }
    }

    public function agregarAscenso(Ascenso $ascenso) {
        try {
            $codigoescalafon = $ascenso->get_codigoescalafon();
            $nivel = $ascenso->get_nivel();
            $estado = $ascenso->get_estado();
            $link = Conectarse();
            $Sql = "select sp_ingresarAscenso('$codigoescalafon','$nivel','$estado')";
            $num = pg_query($link, $Sql);
            return $num;
        } catch (Exception $ex) {
            echo "No se pudo pudieron ingresar los datos Error" . $ex->getMessage();
        }
    }

    public function getListaAscenso($cedula) {
        try {
            $link = Conectarse();
            $Sql = "select sp_docenteEscalafon('$cedula')";
            $result = pg_query($link, $Sql);
            while ($row = pg_fetch_array($result)) {
                $escalafon[] = $row;
            }
            return $escalafon;
        } catch (Exception $ex) {
            echo "No se pudo pudieron obtener los datos Error" . $ex->getMessage();
        }
    }

    public function editarAscenso(Ascenso $ascenso) {
        try {
            $nivel = $ascenso->get_nivel();
            $codigoescalafon = $ascenso->get_codigoescalafon();
            $estado = $ascenso->get_estado();
            $link = Conectarse();
            $Sql = "update \"ascenso\" set \"nivel\"='$nivel' where \"codigoascenso\"='$codigoescalafon'";
            $num = pg_query($link, $Sql);
            return $num;
        } catch (Exception $ex) {
            echo "No se pudo pudieron ingresar los datos Error" . $ex->getMessage();
        }
    }

    public function getListaCapacitacion($cedula) {
        try {
            $link = Conectarse();
            $Sql = "select \"capacitacion\".\"codigocapacitacion\",\"capacitacion\".\"descripcion\",\"capacitacion\".\"puntos\" from \"docente_capacitacion\"
                 inner join  \"docente\" on \"docente_capacitacion\".\"cedula\"=\"docente\".\"Cedula\"
                 inner join  \"capacitacion\" on \"docente_capacitacion\".\"codigocapacitacion\"=\"capacitacion\".\"codigocapacitacion\"
                 where \"docente_capacitacion\".\"cedula\"='$cedula'";
            $result = pg_query($link, $Sql);
            while ($row = pg_fetch_array($result)) {
                $capacitacion[] = $row;
            }
            return $capacitacion;
        } catch (Exception $ex) {
            echo "No se pudo pudieron obtener los datos Error" . $ex->getMessage();
        }
    }

    public function editarCapacitacion(Capacitacion $capacitacion) {
        try {
            $descripcion = $capacitacion->get_descripcion();
            $codigocapacitacion = $capacitacion->get_codigocapacitacion();
            $link = Conectarse();
            $Sql = "update \"capacitacion\" set \"descripcion\"='$descripcion' where \"codigocapacitacion\"='$codigocapacitacion'";
            $num = pg_query($link, $Sql);
            return $num;
        } catch (Exception $ex) {
            echo "No se pudo pudieron ingresar los datos Error" . $ex->getMessage();
        }
    }

    public function agregarDocenteAscenso(Docente_Ascenso $docenteAscenso) {
        try {
            $codigoescalafon = $docenteAscenso->get_codigoescalafon();
            $cedula = $docenteAscenso->get_cedula();
            $puntajetotal = $docenteAscenso->get_puntajetotal_puntajetotal();
            $fechaascenso = $docenteAscenso->get_fechaascenso();

            $link = Conectarse();
            $Sql = "insert into \"docente_ascenso\" (\"codigoescalafon\",\"docente_ascenso\",\"cedula\",\"docente_ascenso\" (\"fecha_ascenso\",\"docente_ascenso\" (\"puntajetotal\")
                    values ('$codigoescalafon','$cedula','$puntajetotal','$fechaascenso')";
            $num = pg_query($link, $Sql);
            return $num;
        } catch (Exception $ex) {
            echo "No se pudo pudieron ingresar los datos Error" . $ex->getMessage();
        }
    }

    public function agregarDocenteCapacitacion(Docente_Capacitacion $docenteCapacitacion) {
        try {
            $codigocapacitacion = $docenteCapacitacion->get_codigocapacitacion();
            $cedula = $docenteCapacitacion->get_cedula();
            $numerohoras = $docenteCapacitacion->get_numerohoras();
            $numerodias = $docenteCapacitacion->get_numerodias();

            $link = Conectarse();
            $Sql = "insert into \"docente_capacitacion\" (\"codigocapacitacion\",\"docente_capacitacion\",\"cedula\",\"docente_capacitacion\" (\"numerohoras\",\"docente_capacitacion\" (\"numerodias\")
                    values ('$codigocapacitacion','$cedula','$numerohoras','$numerodias')";
            $num = pg_query($link, $Sql);
            return $num;
        } catch (Exception $ex) {
            echo "No se pudo pudieron ingresar los datos Error" . $ex->getMessage();
        }
    }

//--------------------------------------PEGADO HASTA AQUI--------- POR REVISAR DE ARRIBBBAAAAAAAA
////--------------------------------------PEGADO HASTA AQUI--------- POR REVISAR DE ARRIBBBAAAAAAAA
////--------------------------------------PEGADO HASTA AQUI--------- POR REVISAR DE ARRIBBBAAAAAAAA
////--------------------------------------PEGADO HASTA AQUI--------- POR REVISAR DE ARRIBBBAAAAAAAA
////--------------------------------------PEGADO HASTA AQUI--------- POR REVISAR DE ARRIBBBAAAAAAAA
////--------------------------------------PEGADO HASTA AQUI--------- POR REVISAR DE ARRIBBBAAAAAAAA
//
    //put your code here
    public function AgregarDoc(Docente $docente) {
        try {
            $link = conectarse();
            //le mando los parametros al procedimiento Almacenado 
            $cedula = $docente->get_cedula();
            $nombre = $docente->get_nombres();
            $apellidos = $docente->get_apellidos();
            $fechaNac = $docente->get_fechanacimiento();
            $sexo = $docente->get_sexo();
            $nacionalidad = $docente->get_nacionalidad();
            $telefono = $docente->get_telefono();
            $categoria = $docente->get_categoriadocente();
            $direccion = $docente->get_direccion();
            $fingreso = $docente->get_fechaingreso();
            $foto = $docente->get_foto();
            $sql = "SELECT sp_ingresarDocente('$cedula','$nombre','$apellidos','$fechaNac','$sexo','$nacionalidad',
									'$telefono','$categoria','$direccion','$fingreso','$foto')";
            $res = pg_query($link, $sql);
            return $res;
            pg_close($link);
        } catch (Exception $ex) {
            echo "No se pudo pudieron ingresar los datos Error" . $ex->getMessage();
        }
    }

    public function listarDocentes() {
        try {
            $link = conectarse();
            $sql = "select * from Docente";
            $result = pg_exec($link, $sql);
            while ($row = pg_fetch_array($result)) {
                $docentes[] = $row;
            }
            return $docentes;
            pg_free_result($result);
            pg_close($link);
        } catch (Exception $ex) {
            echo "No se pudo pudieron obtener los datos Error" . $ex->getMessage();
        }
    }

    public function eliminarDocentes($cedula) {
        try {
            $cedulaEliminar = $cedula;
            $link = Conectarse();
            $sql = "SELECT sp_eliminarDocente('$cedulaEliminar')";
            $num = pg_exec($link, $sql);
            return $num;
            pg_free_result($num);
            pg_close($link);
        } catch (Exception $ex) {
            echo "No se pudo pudieron obtener los datos Error" . $ex->getMessage();
        }
    }

    public function buscarDocentes($op, $dato) {

        try {
            $datoBuscar = $dato;
            $opSql = $op;
            $link = Conectarse();
            $sql1 = "SELECT * FROM docente where cedula='$datoBuscar';";
            $sql2 = "SELECT * FROM docente where apellidos like'$datoBuscar%';";
            if ($opSql == 1) {                
                $result = pg_exec($link, $sql1);
            }
            if ($opSql == 2) {                
                $result = pg_exec($link, $sql2);
            }
            while ($row = pg_fetch_array($result)) {
                $docenteB[] = $row;
            }
            return $docenteB;
            pg_free_result($result);
            pg_close($link);
        } catch (Exception $ex) {
            echo "No se pudo pudieron obtener los datos Error" . $ex->getMessage();
        }
    }

    public function actualizarDocentes(Docente $docente) {
        try {
            $cedula = $docente->get_cedula();
            $nombre = $docente->get_nombres();
            $apellidos = $docente->get_apellidos();
            $fechaNac = $docente->get_fechanacimiento();
            $sexo = $docente->get_sexo();
            $nacionalidad = $docente->get_nacionalidad();
            $telefono = $docente->get_telefono();
            $categoria = $docente->get_categoriadocente();
            $direccion = $docente->get_direccion();
            $fingreso = $docente->get_fechaingreso();
            $foto = $docente->get_foto();

            $link = conectarse();

            $sql = "SELECT sp_modificarDocente('$cedula','$nombre','$apellidos',
                    '$fechaNac','$sexo','$nacionalidad','$telefono',
                    '$categoria','$direccion','$fingreso','$foto')";
            $num = pg_exec($link, $sql);
            return $num;
        } catch (Exception $ex) {
            echo "No se pudo pudieron obtener los datos Error" . $ex->getMessage();
        }
    }

    public function AgregarForma(Formacion $formacion) {
        try {
            $link = conectarse();
            //le mando los parametros al procedimiento Almacenado 

            $nivelEducacion = $formacion->getNivelEducacion();
            $codigoRefrendacion = $formacion->getCodigoRefrendacion();
            $numPaginaRegistro = $formacion->getNumPaginaRegistro();
            $puntos = $formacion->getPuntos();
            $fechaIngreso = $formacion->getFechaIngreso();
            $descripcion = $formacion->getDescripcion();

            $sql = "SELECT sp_ingresarFormacion('$nivelEducacion','$codigoRefrendacion','$numPaginaRegistro','$puntos','$fechaIngreso','$descripcion')";

            $res = pg_query($link, $sql);
            return $res;
            pg_close($link);
        } catch (Exception $ex) {
            echo "No se pudo pudieron ingresar los datos Error" . $ex->getMessage();
        }
    }

    public function listarFormacion() {
        try {
            $link = conectarse();
            $sql = "select * from formacion";
            $result = pg_exec($link, $sql);
            while ($row = pg_fetch_array($result)) {
                $formacion[] = $row;
            }
            return $formacion;
            pg_free_result($num);
            pg_close($link);
        } catch (Exception $ex) {
            echo "No se pudo pudieron obtener los datos Error" . $ex->getMessage();
        }
    }

    public function actualizarFormacion(Formacion $formacion) {
        try {

            $codigoFormacion = $formacion->get_codigoformacion();
            $nivelEducacion = $formacion->getNivelEducacion();
            $codigoRefrendacion = $formacion->getCodigoRefrendacion();
            $numPaginaRegistro = $formacion->getNumPaginaRegistro();
            $puntos = $formacion->getPuntos();
            $fechaIngreso = $formacion->getFechaIngreso();
            $descripcion = $formacion->getDescripcion();

            $link = conectarse();

            $sql = "SELECT sp_modificarformacion('$codigoFormacion','$nivelEducacion','$codigoRefrendacion',
                    '$numPaginaRegistro','$puntos','$fechaIngreso','$descripcion')";
            $num = pg_exec($link, $sql);
            pg_free_result($num);
            pg_close($link);
            return $num;
        } catch (Exception $ex) {
            echo "No se pudo pudieron Ingresar los datos Error" . $ex->getMessage();
        }
    }

    public function eliminarFormacion($codigoFormacion) {
        try {
            $cod = $codigoFormacion;
            $link = Conectarse();
            $sql = "SELECT sp_eliminarFormacion('$codigoFormacion')";
            $num = pg_exec($link, $sql);
            return $num;
            pg_free_result($num);
            pg_close($link);
        } catch (Exception $ex) {
            echo "No se pudo pudieron obtener los datos Error" . $ex->getMessage();
        }
    }

    public function AgregarFormacionDocente(FormacionDocente $formacionDocente) {
        try {
            $link = conectarse();
            //le mando los parametros al procedimiento Almacenado 

            $cedulaDocente = $formacionDocente->getCedulaDocente();
            $codigoFormacion = $formacionDocente->getCodigoFormacion();
            $fechaRegistro = $formacionDocente->getFechaRegistro();
            $descripcion = $formacionDocente->getDescripcion();

            $sql = "SELECT sp_ingresarFormacionDocente('$cedulaDocente','$codigoFormacion','$fechaRegistro','$descripcion')";

            $res = pg_query($link, $sql);
            return $res;

            pg_free_result($num);
            pg_close($link);
        } catch (Exception $ex) {
            echo "No se pudo pudieron ingresar los datos Error" . $ex->getMessage();
        }
    }

    public function listarFormacionDocente() {
        try {
            $link = conectarse();
            $sql = "select * from v_formacionDocente;";
            $result = pg_exec($link, $sql);
            while ($row = pg_fetch_array($result)) {
                $formacionDocente[] = $row;
            }
            return $formacionDocente;
        } catch (Exception $ex) {
            echo "No se pudo pudieron obtener los datos Error" . $ex->getMessage();
        }
    }

    public function AgregarPublicaciones(Publicaciones $pPublicaciones) {
        try {
            $link = conectarse();
            //le mando los parametros al procedimiento Almacenado 
            $codigoPublicacion = $pPublicaciones->getCodigoPublicacion();
            $descripcion = $pPublicaciones->getDescripcion();
            $tipo_publicacion = $pPublicaciones->getTipo_publicacion();
            $numeropublicacion = $pPublicaciones->getNumeropublicacion();
            $puntajeanio = $pPublicaciones->getPuntajeanio();

            $sql = "SELECT sp_ingresarPublicacion('$codigoPublicacion','$descripcion','$tipo_publicacion','$numeropublicacion','$puntajeanio')";

            $res = pg_query($link, $sql);
            return $res;
            pg_close($link);
        } catch (Exception $ex) {
            echo "No se pudo pudieron ingresar los datos Error" . $ex->getMessage();
        }
    }

    public function listarPublicaciones() {
        try {
            $link = conectarse();
            $sql = "select * from publicaciones";
            $result = pg_exec($link, $sql);
            while ($row = pg_fetch_array($result)) {
                $vectorDatos[] = $row;
            }
            return $vectorDatos;
        } catch (Exception $ex) {
            echo "No se pudo pudieron obtener los datos Error" . $ex->getMessage();
        }
    }

    public function AgregarPublicacionesDocente(PublicacionesDocente $pPublicacionesDocente) {
        try {
            $link = conectarse();
            //le mando los parametros al procedimiento Almacenado 
            $cedulaDocente = $pPublicacionesDocente->getCedulaDocente();
            $codigoPublicacion = $pPublicacionesDocente->getCodigoPublicacion();
            $fecha = $pPublicacionesDocente->getFecha();
            $descripcion = $pPublicacionesDocente->getDescripcion();

            $sql = "SELECT sp_ingresarpublicaciondocente('$codigoPublicacion','$cedulaDocente','$fecha','$descripcion')";

            $res = pg_query($link, $sql);
            return $res;
            pg_close($link);
        } catch (Exception $ex) {
            echo "No se pudo pudieron ingresar los datos Error" . $ex->getMessage();
        }
    }

    public function listarPublicacionesDocente() {
        try {
            $link = conectarse();
            $sql = "select * from v_publicacionDocente";
            $result = pg_exec($link, $sql);
            while ($row = pg_fetch_array($result)) {
                $vectorDatos[] = $row;
            }
            return $vectorDatos;
        } catch (Exception $ex) {
            echo "No se pudo pudieron obtener los datos Error" . $ex->getMessage();
        }
    }

    public function AgregarCapacitacion(Capacitacion $pCapacitacion) {
        try {
            $link = conectarse();
            //le mando los parametros al procedimiento Almacenado 
            $codigocapacitacion = $pCapacitacion->getCodigocapacitacion();
            $descripcion = $pCapacitacion->getDescripcion();
            $puntos = $pCapacitacion->getPuntos();
            $sql = "SELECT sp_ingresarCapacitacion('$codigocapacitacion','$descripcion','$puntos')";

            $res = pg_query($link, $sql);
            return $res;
            pg_close($link);
        } catch (Exception $ex) {
            echo "No se pudo pudieron ingresar los datos Error" . $ex->getMessage();
        }
    }

}

?>
